import requests
import unittest

class TestTpshopLogin(unittest.TestCase):
    session=requests.session()#实例化一个session对象
    # 测试登录成功
    def test01_succass(self):
        # 获取验证码
        self.session.get(url='http://127.0.0.1/index.php?m=Home&c=User&a=verify&r=0.8272049348087803')
        # 登录
        resp_login=self.session.post(url='http://127.0.0.1/index.php?m=Home&c=User&a=do_login&t=0.6131949209671165',
                     headers={'Content-Type':'application/x-www-form-urlencoded'},
                     data={
                         'username':'15766212618',
                        'password':'123456',
                         'verify_code':'8888'
                     })
        # 断言
        self.assertEqual(200,resp_login.status_code)# 断言响应状态码
        self.assertEqual(1,resp_login.json().get('status'))
        self.assertEqual('登陆成功',resp_login.json().get('msg'))
    # 测试登录失败-账号不存在
    def test02_without_user(self):
        # 获取验证码
        resp_vitify=self.session.get(url='http://127.0.0.1/index.php?m=Home&c=User&a=verify&r=0.8272049348087803')
        # 登录
        resp_login=self.session.post(url='http://127.0.0.1/index.php?m=Home&c=User&a=do_login&t=0.6131949209671165',
                     data={
                         'username':'15517184225',
                        'password':'123456',
                         'verify_code':'8888'
                     })
        # 断言
        self.assertEqual(200,resp_login.status_code)# 断言响应状态码
        self.assertEqual(-1,resp_login.json().get('status'))
        self.assertEqual('账号不存在!',resp_login.json().get('msg'))
    # 测试登录失败-密码错误
    def test03_error_password(self):
        # 获取验证码
        resp_vitify=self.session.get(url='http://127.0.0.1/index.php?m=Home&c=User&a=verify&r=0.8272049348087803')
        # 登录
        resp_login=self.session.post(url='http://127.0.0.1/index.php?m=Home&c=User&a=do_login&t=0.6131949209671165',
                     headers={'Content-Type':'application/x-www-form-urlencoded'},
                     data={
                         'username':'15766212618',
                        'password':'1234567',
                         'verify_code':'8888'
                     })
        # 断言
        self.assertEqual(200,resp_login.status_code)# 断言响应状态码
        self.assertEqual(-2,resp_login.json().get('status'))
        self.assertEqual('密码错误!',resp_login.json().get('msg'))

if __name__ == '__main__':
    unittest.main()  # 运行所有测试用例

